package com.yuexin.project.statistic.book.mapper;


import java.util.List;

import com.yuexin.project.statistic.book.domain.Book;
import com.yuexin.project.statistic.book.domain.EatBookList;
import com.yuexin.project.statistic.book.domain.StatsBook;
import com.yuexin.project.statistic.book.formbean.EatBookFormBean;
import com.yuexin.project.statistic.book.formbean.MaxSortFormBean;
import org.apache.ibatis.annotations.Param;

/**
 * 报餐明细 数据层
 * 
 * @author yuexin
 * @date 2018-10-14
 */
public interface BookMapper 
{
	/**
     * 查询报餐明细信息
     * 
     * @param bookId 报餐明细ID
     * @return 报餐明细信息
     */
	public Book selectBookById(Integer bookId);
	
	/**
     * 查询报餐明细列表
     * 
     * @param book 报餐明细信息
     * @return 报餐明细集合
     */
	public List<Book> selectBookList(Book book);

	/**
     * 查询报餐统计列表
     *
     * @param book 报餐明细信息
     * @return 报餐明细集合
     */
	List<StatsBook> selectList(Book book);

	/**
	 * 导出数据
	 * @param book
	 * @return
	 */
	List<StatsBook> selecExportList(Book book);

	/**
	 * 获取就餐数据
	 * @return
	 */
	List<EatBookList> selectEatBook(EatBookFormBean form);

	Integer selectMaxSort(MaxSortFormBean form);
	
	/**
     * 新增报餐明细
     * 
     * @param book 报餐明细信息
     * @return 结果
     */
	public int insertBook(Book book);
	
	/**
     * 修改报餐明细
     * 
     * @param book 报餐明细信息
     * @return 结果
     */
	public int updateBook(Book book);
	
	/**
     * 删除报餐明细
     * 
     * @param bookId 报餐明细ID
     * @return 结果
     */
	public int deleteBookById(Integer bookId);
	
	/**
     * 批量删除报餐明细
     * 
     * @param bookIds 需要删除的数据ID
     * @return 结果
     */
	public int deleteBookByIds(@Param("bookIds") List<String> bookIds);
	
	public int deleteBookByMonth(Book book);

	List<String> selectBookByMonth(Book book);

	/**
     * 批量新增报餐信息
     * 
     * @param  
     * @return 结果
     */
    public int batchMealsInfo(List<Book> bookList);
    
    public List<Book> selectBookListForExport(Book book);
	
}